// 引入用户集合
const User = require("../../model/user");
// 下方req是路由传递的参数
module.exports = async(req, res) => {
    // 插入学生数据,插入数据应在路由中有一个专门的模块,详情参考blog项目
    //     const salt = await bcrypt.genSalt(10);
    //     const pass = await bcrypt.hash("123456", salt);
    // 处理post请求的另一方法，除bodyParser中间件外,建议用bodyParser
    // var data = "";
    // req.on("data", function(chunk) {
    //     data += chunk;
    // });
    // req.on("end", function() {
    //     data = JSON.parse(data);
    //     // 同一文件不能res.send两次
    //     res.send(data);
    // });
    const { username } = req.body;
    let resData = {
        data: req.body,
        meta: {
            code: 200,
            msg: "添加成功",
        },
    };
    let resArray = [];
    let user = await User.findOne({ username });
    if (!user) {
        try {
            // post请求中的用户信息就是客户端需要新增的用户
            await User.create(req.body);
        } catch (err) {
            for (item in err.errors) {
                resArray.push(err.errors[item].message);
            }
            // res.status(400);
            resData.meta.code = 400;
            resData.meta.msg = resArray.join(",");
        }
        res.send(resData);
    } else {
        resData.meta.code = 400;
        resData.meta.msg = "该用户名已被使用!";
        resData.data = {};
        res.send(resData);
    }
};